/*
 *  TechReport.h
 *  TechReport
 *
 *  Created by Hamza SHAWY and Jonathan SHRODER on 20/10/07.
 *  Copyright 2007 __MyCompanyName__. All rights reserved.
 *
 */

 
#ifndef TECHREPORT_H
#define TECHREPORT_H

#include <iostream>
#include <string>
#include <list>


using std::list;
using std::string;

#include "Report.h"
class TechReport  : public Report  
{
       public: // the BEHAVIOR of objects insatnce of the class TechReport : the MEMBRE FUNCTIONS (METHODS) need to be accessed outside the class 

                TechReport (); // the default constructor of the class TechReport initializes data members to default values. 
				TechReport ( int, int, string, string, string, string, string); // the regular constructor of the class TechReport  
                ~TechReport (); // the destructor can not be overloaded because there is only one for the class TechReport
                
			    string getUrl() const; // returns the URL of the technical report 
				int getNumberOfPages() const; // returns 1 because the number of pages of the URL is only one page
				void print(); /* prints a string representation of objects of TechReport.
				               This member function overrides the one defined in the class Report. */ 
				
				// the following methods are not asked but needed for the test of the previous methods and for the rest of the project
				void setUrl(string) ; // prototype of the setDepartment function . Sets the report's department
			
        protected: // deals with the ATTRIBUTES of the object instance of the class TechReport : the DATA MEMBERS can cot be accessed outside the class (the data are ecapsulated or hidden)
				string Url ; //  which is unique for each (object instance of the class TechReport)


				
 }; // end class TechReport

#endif    
